<?php  if (!defined('BASEPATH')) exit('No direct script access allowed');

/**
 * Класс для работы с сообщениями об ошибках
 * 
 * @package CoreFramework
 * @version 1.0
 * @author Gennadiy Kozlenko
 */
class Errors {
   
   /**
    * Instance
    *
    * @access private
    * @var object
    */
   var $_obj = null;
   
   /**
    * Массив ошибок
    *
    * @access private
    * @var array
    */
   var $_errors = array();
   
   /**
    * Конструктор класса
    *
    * @access public
    * @return Errors
    */
   function Errors() {
      $this->_obj =& get_instance();
   } // end Errors
   
   /**
    * Установка сообщения об ошибке
    *
    * @access public
    * @param string $name
    * @param string $value
    */
   function set($name, $value) {
      $this->_errors[$name] = $value;
   } // end set
   
   /**
    * Получение сообщения об ошибке
    *
    * @access public
    * @param string $name
    * @return mixed
    */
   function get($name) {
      return isset($this->_errors[$name]) ? $this->_errors[$name] : false;
   } // end get
   
   /**
    * Получение ассоциативного массива всех ошибок
    *
    * @access public
    * @return array
    */
   function get_errors() {
      return $this->_errors;
   } // end get_errors
   
   /**
    * Проверка существования ошибки
    *
    * @access public
    * @param string $name
    * @return boolean
    */
   function exists($name) {
      return isset($this->_errors[$name]);
   } // end exists
   
   /**
    * Удаление ошибки/ошибок
    * Если не задан параметр, то очищается весь массив ошибок
    *
    * @access public
    * @param string $name
    */
   function clean($name = '') {
      if (!empty($name)) {
         if (isset($this->_errors[$name])) {
            unset($this->_errors[$name]);
         }
      } else {
         $this->_errors = array();
      }
   } // end clean
   
}
